class Class1{}
let c1 = new Class1();
// let map = new Map();
let map = new WeakMap(); /** WeakMap的key只能是对象*/
map.set(c1, 1);
c1 = null; //当你一个变量设置为null时 不会马上回收 会在合适的机会自己清空
//↑ 如果是map的话 这里其实清空不了 因为c1作为map的一个key会占据1个引用计数
//  而 如果是weakmap的话 c1作为key只算是一个弱引用 如果不存在其它计数 是会被回收的

